package br.unicamp.ic.inf300.arena.persistencia.dao;

import java.util.Date;

import br.unicamp.ic.inf300.arena.modelo.vendas.Venda;
import br.unicamp.ic.inf300.framework.persistencia.IDAOBase;

public interface IVendaBilheteDAO extends IDAOBase {
	public static final String TABELA_BD = "ARENAVENDAS.Venda";

	public static final String COLUMN_CODIGO_PK = "numprotocolo";
	public static final String COLUMN_DATA_HORA = "dataHora";
	public static final String COLUMN_CODIGO_PAGTO = "codpagto";

	/**
	 * Recupera venda
	 * 
	 * @param numProtocolo
	 * @return Venda
	 */
	public Venda obter(long numProtocolo) throws Exception;
	
	/**
	 * 
	 * @param Venda
	 * @return Venda
	 */
	public boolean inserir(Venda venda) throws Exception;
	
	/**
	 * 
	 * @param dataHora
	 * @param codPagto
	 * @return boolean
	 * @throws Exception
	 */
	public boolean inserir(Date dataHora, int codPagto) throws Exception;
	
	/**
	 * 
	 * @return long
	 * @throws Exception
	 */
	public long obterProximoNumeroProtocolo() throws Exception;
}